Test Plan and Output

Hexidecimal ASCII values are added next to the corresponding characters in parentheses.

Case 1:

Objective:	Show the program works using the testing cases given
Rationale:	Demonstrates that the program can find the correct Hamming distance
		between two characters, and that it can repeat the program when asked
		to by the user. Also demonstrates that arrays are properly reset to zero
		each time the program restarts.

Please enter a character: A (41)
Please enter a character: S (53)
The Hamming distance between the two characters is 2
Do you want to continue? (y/n) y
Please enter a character: A (41)
Please enter a character: B (42)
The Hamming distance between the two characters is 2
Do you want to continue? (y/n) y
Please enter a character: 0 (30)
Please enter a character: 1 (31)
The Hamming distance between the two characters is 1
Do you want to continue? (y/n) y
Please enter a character: 5 (35)
Please enter a character: 7 (37)
The Hamming distance between the two characters is 1
Do you want to continue? (y/n) y
Please enter a character: A (41)
Please enter a character: 5 (35)
The Hamming distance between the two characters is 4
Do you want to continue? (y/n) n


Case 2:

Objective:	Show that program can provide correct result repeatedly
Rationale:	Demonstrates that the program works, and that most of the counters
		within the program are reset correctly. Also shows that the program
		works correctly when the two cases are the same (i.e. the smallest
		possible Hamming distance). Does not demonstrate that arrays are reset
		properly.

Please enter a character: A (41)
Please enter a character: A (41)
The Hamming distance between the two characters is 0
Do you want to continue? (y/n) y
Please enter a character: A (41)
Please enter a character: A (41)
The Hamming distance between the two characters is 0
Do you want to continue? (y/n) y
Please enter a character: A (41)
Please enter a character: A (41)
The Hamming distance between the two characters is 0
Do you want to continue? (y/n) y
Please enter a character: A (41)
Please enter a character: A (41)
The Hamming distance between the two characters is 0
Do you want to continue? (y/n) n


Case 3:

Objective:	Show that the program only quits when the user enters 'n' or 'N'
Rationale:	Last requirement: "The program terminates only when the user answers 'no'
		to the query."

Please enter a character: A (41)
Please enter a character: A (41)
The Hamming distance between the two characters is 0
Do you want to continue? (y/n) y
Please enter a character: A (41)
Please enter a character: A (41)
The Hamming distance between the two characters is 0
Do you want to continue? (y/n) Y
Please enter a character: A (41)
Please enter a character: A (41)
The Hamming distance between the two characters is 0
Do you want to continue? (y/n) u
Please enter a character: A (41)
Please enter a character: A (41)
The Hamming distance between the two characters is 0
Do you want to continue? (y/n) a
Please enter a character: A (41)
Please enter a character: A (41)
The Hamming distance between the two characters is 0
Do you want to continue? (y/n) 7
Please enter a character: A (41)
Please enter a character: A (41)
The Hamming distance between the two characters is 0
Do you want to continue? (y/n) @
Please enter a character: A (41)
Please enter a character: A (41)
The Hamming distance between the two characters is 0
Do you want to continue? (y/n) N


Case 4:

Objective:	Show that program works for highest possible Hamming distance
Rationale:	Demonstrates that there is no cap on the counter used to calculate the
		Hamming distance.Note using only the first 128 standard ascii characters
		are used, a Hamming distance of 8 is impossible.

Please enter a character: 3 (33)
Please enter a character: L (4C)
The Hamming distance between the two characters is 7
Do you want to continue? (y/n) n